package com.example.children.Service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.children.FileService.RegisterInterface;
import com.example.children.Mapper.UserMapper;
import com.example.children.Model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class RegisterService extends ServiceImpl<UserMapper, User> implements RegisterInterface {

    @Autowired
    private  UserMapper userMapper;

    // 密码验证逻辑（示例）
//    长度要求：密码长度必须至少为 8 个字符。
//    数字要求：密码必须包含至少一个数字 (0-9)。
//    特殊字符要求：密码必须包含至少一个特殊字符，如 !@#$%^&*。
//    字符种类要求：密码只能包含字母、数字和上述列出的特殊字符。
    public boolean isValidPassword(String password) {
        // 密码长度大于等于8且包含数字和特殊字符
        String passwordRegex = "^(?=.*[0-9])(?=.*[!@#$%^&*])[A-Za-z0-9!@#$%^&*]{8,}$";
        boolean test=password.matches(passwordRegex);
        System.out.println("注册：密码格式判断："+test);
        return test;
    }


    public   boolean saveUser(User user) {
        return userMapper.insert(user) > 0;
    }

    public   boolean insertUser(User user) {
        // 使用 MyBatis-Plus 提供的 insert 方法直接插入数据
        return userMapper.insert(user) > 0;
    }

    public   User isUsernameExist(String username) {
        return userMapper.findByUsername(username);
    }

//看看邀请码是否存在
    public String isInvitationCode(String invitationCode) {
        return userMapper.isInvitationCode(invitationCode);
    }

    public boolean isTeacherId(String id) {
        return userMapper.isTeacherId(id);
    }
}
